草庐IT

javascript - 将 Javascript getter 作为参数传递

全部标签

ruby - 使用接受参数作为先决条件的 rake 任务

根据http://rake.rubyforge.org/files/doc/rakefile_rdoc.html,您可以创建一个接受参数并且也有先决条件的任务:task:name,[:first_name,:last_name]=>[:pre_name]do|t,args|但是如果:pre_name是一个也接受参数的任务呢?将参数传递给:pre_name作为先决条件时的语法是什么? 最佳答案 它实际上非常简单-:pre任务将接收与原始任务相同的参数。您需要做的就是确保签名相似-例如,如果第一个任务接收到:a,:b,则:pre任务也需

ruby-on-rails - Rails - Rspec - stub 参数

我在Controller中创建了一些公共(public)方法来完成一些工作。defcurrent_serviceservice_name=params[:controller].gsub('api/v1/','').gsub(%r{/.+},'')end我想使用RSpec测试此方法,但我不知道如何stub参数。我应该怎么做? 最佳答案 如果这是一个Controller规范,你应该能够做这样的事情:allow(controller).toreceive(:params).and_return({controller:'avalue'}

arrays - Ruby:禁止更新作为类变量的数组

我正在编写一个简单的TicTacToe游戏,其中有一个用于棋盘、玩家、计算机和游戏本身的类。在我的Board类中,我将类变量@board(它是一个数组)设置为attr_reader,它应该不允许直接写入它。尽管以下将不起作用(按预期)game_board=Board.newgame_board.board="somejunk"以下确实有效,我不想发生这种情况game_board=Board.newgame_board.board[0]="somejunk"如何停止写入类数组变量@board?当前类代码如下:classBoardattr_reader:boarddefinitialize

ruby-on-rails - 在 JavaScript 中访问 c​​urrent_user 帮助程序

我在/assets/javascripts/globals.js.erb中使用Rails3.2.13和JavaScript。无论如何访问JavaScript文件中的Rails助手或Controller数据?像...varApp={globals:{user:{name:''}}}; 最佳答案 你不能那样做。Assets在生产中编译一次,因此它不应该依赖于请求的状态(比如当前用户,或传递给请求的参数)。您可以做的最接近的事情是在您的应用程序布局中添加一个全局变量App.globals.user.name=

ruby-on-rails - ruby rails : why do i get message for javascript and css after rails s?

railss=>StartedGET"/assets/application.css?body=1"for127.0.0.1at2011-10-1103:37:03-0900Servedasset/application.css-304NotModified(0ms)StartedGET"/assets/home.css?body=1"for127.0.0.1at2011-10-1103:37:03-0900Servedasset/home.css-304NotModified(0ms)StartedGET"/assets/jquery_ujs.js?body=1"for127.0.0

ruby - 如何在 Sinatra 中使用带斜线的参数?

玩sinatra,我遇到了一个小问题:当我将参数与斜线一起使用时,它会混淆路由器引擎。那么有没有一种无需编码即可处理此类参数的好方法?代码看起来像get'add/:url'do#....end我打算得到像/add/http://sctackoverflow.com/这样的东西工作 最佳答案 您是否尝试过使用splat参数?类似于:get'/add/*'doprotocol=params[:splat].firstaddress=params[:splat][1..-1].join('/')url=protocol+"//"+addr

ruby - ruby 中没有参数的 DSL block

我正在用ruby​​编写一个简单的dsl。几周前,我偶然发现了一些博客文章,其中展示了如何转换代码,例如:some_methodargumentdo|book|book.some_method_on_bookbook.some_other_method_on_book:with=>argumentend更简洁的代码:some_methodargumentdosome_method_on_booksome_other_method_on_book:with=>argumentend我不记得如何做到这一点,我也不确定缺点,但更简洁的语法很诱人。有人知道这种转变吗?

ruby - 如何在命令行上将实例变量传递给 HAML 模板?

背景我正在尝试测试Rails之外的一些HAML模板的格式。这个想法是在命令行或通过包含的Ruby文件传递​​一些实例变量,将模板呈现为标准输出。我尝试了几种不同的方法但没有成功,如下所述。需要一个Ruby文件例如,给定以下两个文件:HAML模板:“test.haml”!!!%h1TestingHAMLCLI%p=@bar%p=@bazRuby文件:“test.rb”@foo='abc'@bar='123'我希望像haml-r./testtest.haml这样的调用在标准输出上返回一个内插的HTML文件,但它没有。相反,我只得到HTML:TestingHAMLCLI程序化尝试由于这不起作

带有字符串参数的 Ruby grep

我想将grep与字符串一起用作正则表达式模式。我该怎么做?例子:myArray.grep(/asd/i)#Worksperfectly.但我想先准备好我的声明searchString='/asd/i'myArray.grep(searchString)# Fails我怎样才能做到这一点?我需要准备一个字符串,因为这将进入搜索算法,并且查询将根据每个请求进行更改。谢谢。 最佳答案 正则表达式支持插值,就像字符串一样:var="hello"re=/#{var}/ipre#=>/hello/i

ruby - +@ 作为 ruby​​ 中的方法是什么意思

我正在阅读一些代码,我看到了一些类似的东西moduleMdef+@selfendend我很惊讶这是合法的语法,但是当我在文件上运行ruby-c时(对lint)它说它是有效的。-@也是一个合法的方法名称,但当我尝试*@或d@时,这两个都是非法的。我想知道+@是什么意思,为什么合法? 最佳答案 Ruby包含一些一元运算符,包括+,-,!,~,&和*.与其他运算符一样,您也可以重新定义它们。对于~和!你可以简单地说def~和def!因为它们没有对应的二进制文件(例如,您不能说a!b)。但是对于-和+有一个一元和一个二进制版本(例如a+b和